tr ist ein Unix-Kommando, dessen Name eine Abkürzung für translate (deutsch: übersetzen) ist, das bestimmte Zeichen aus einem Datenstrom ersetzt oder entfernt.
Das Werkzeug liest den Datenstrom der Standardeingabe, schreibt auf die Standardausgabe und benötigt je nach Modus ein (Löschen und Komprimieren) oder zwei (Ersetzen) Argumente.
Sollen Zeichen ersetzt werden, werden zwei Argumente benötigt, zuerst die zu ersetzenden Zeichen, im zweiten die neuen.
Beispiel:
jimbo@thinkpad:~$ echo Meyer | tr y i Meier
Es sind mehrfache Ersetzungen einzelner Zeichen auf einmal möglich. Z. B. ersetzt
tr 'abcd' 'jkmn'
alle vorkommenden a durch j, b durch k usw.
Im Alphabet aufeinanderfolgende Zeichen lassen sich dabei mit einem Bindestrich angeben:
tr 'a-d' 'jkmn'
Mit dem Operator s werden alle hintereinander folgenden identischen Zeichen durch ein einzelnes ersetzt. Beispiel:
jimbo@thinkpad:~ echo muuuuh | tr -s u muh
Der Operand d löscht alle im ersten Argument angegebenen Zeichen
tr -d '\r'
wobei \r für ein Carriage Return (Bytewert 13) steht. Mit diesem Befehl wird dieses unter Unix nicht verwendete Umbruchzeichen ersatzlos entfernt.
Ist ein c angegeben, so gilt die Umkehrung, also hier
tr -cd '[:alnum:]'
wobei der Ausdruck [:alnum:] für alle alphanumerischen Zeichen steht. Somit werden alle nicht alphanumerischen Zeichen entfernt.